package com.lanyan.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.lanyan.system.domain.vo.OrdersVo;
import com.baomidou.mybatisplus.annotation.TableId;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lanyan.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lanyan.common.core.domain.BaseEntity;

/**
 * 订单对象 orders
 *
 * @author lanyan
 * @date 2024-11-26
 */
@Data
public class Orders<T> extends OrdersVo<T>
{
    private static final long serialVersionUID = 1L;


    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 订单类型（0商城订单 1取送订单） */
    @Excel(name = "订单类型", readConverterExp = "0=商城订单,1=取送订单")
    @ApiModelProperty("订单类型（0商城订单 1取送订单）")
    private String type;

    /** 所属用户 */
    @Excel(name = "所属用户")
    @ApiModelProperty("所属用户")
    private Long accountId;

    /** 起点楼栋 */
    @Excel(name = "起点楼栋")
    @ApiModelProperty("起点楼栋")
    private String fetchBuilding;

    /** 终点楼栋 */
    @Excel(name = "终点楼栋")
    @ApiModelProperty("终点楼栋")
    private String sendBuilding;

    /** 订单备注 */
    @Excel(name = "订单备注")
    @ApiModelProperty("订单备注")
    private String memo;

    /** 特殊要求 */
    @Excel(name = "特殊要求")
    @ApiModelProperty("特殊要求")
    private String specialMemo;

    /** 特殊要求图片 */
    @Excel(name = "特殊要求图片")
    @ApiModelProperty("特殊要求图片")
    private String specialMemoImg;

    /** 物品类型 */
    @Excel(name = "物品类型")
    @ApiModelProperty("物品类型")
    private String productType;

    /** 货物重量 */
    @Excel(name = "货物重量")
    @ApiModelProperty("货物重量")
    private Double weight;

    /** 订单原价 */
    @Excel(name = "订单原价")
    @ApiModelProperty("订单原价")
    private BigDecimal originMoney;

    /** 支付单号 */
    @Excel(name = "支付单号")
    @ApiModelProperty("支付单号")
    private String payNo;

    /** 收货编号 */
    @Excel(name = "收货编号")
    @ApiModelProperty("收货编号")
    private String code;

    /** 总单号 */
    @Excel(name = "总单号")
    @ApiModelProperty("总单号")
    private String totalNo;

    /** 使用优惠券 */
    @Excel(name = "使用优惠券")
    @ApiModelProperty("使用优惠券")
    private Long couponId;

    @TableField(exist = false)
    private String timeType;
    @TableField(exist = false)
    private String isReceive;
    @TableField(exist = false)
    private String startTime;
    @TableField(exist = false)
    private String endTime;
    @TableField(exist = false)
    private Account account;
    @TableField(exist = false)
    private Courier courier;
}
